home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / gcc / ixemsdk.lha / man / cat3 / tcsetattr.0 < prev    next >
Text File  |  1996-09-02  |  10KB  |  181 lines

  1.  
  2. TCSETATTR(3)               UNIX Programmer's Manual               TCSETATTR(3)
  3.  
  4. NNAAMMEE
  5.      ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd, ccffsseettssppeeeedd,
  6.      ccffmmaakkeerraaww, ttccggeettaattttrr, ttccsseettaattttrr - manipulating the termios structure
  7.  
  8. SSYYNNOOPPSSIISS
  9.      ##iinncclluuddee <<tteerrmmiiooss..hh>>
  10.  
  11.      _s_p_e_e_d___t
  12.      ccffggeettiissppeeeedd(_c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
  13.  
  14.      _i_n_t
  15.      ccffsseettiissppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
  16.  
  17.      _s_p_e_e_d___t
  18.      ccffggeettoossppeeeedd(_c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
  19.  
  20.      _i_n_t
  21.      ccffsseettoossppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
  22.  
  23.      _v_o_i_d
  24.      ccffsseettssppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
  25.  
  26.      _v_o_i_d
  27.      ccffmmaakkeerraaww(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
  28.  
  29.      _i_n_t
  30.      ttccggeettaattttrr(_i_n_t _f_d, _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
  31.  
  32.      _i_n_t
  33.      ttccsseettaattttrr(_i_n_t _f_d, _i_n_t _a_c_t_i_o_n, _c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
  34.  
  35. DDEESSCCRRIIPPTTIIOONN
  36.      The ccffmmaakkeerraaww, ttccggeettaattttrr and ttccsseettaattttrr functions are provided for getting
  37.      and setting the termios structure.
  38.  
  39.      The ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd and ccffsseettssppeeeedd
  40.      functions are provided for getting and setting the baud rate values in
  41.      the termios structure.  The effects of the functions on the terminal as
  42.      described below do not become effective, nor are all errors detected, un-
  43.      til the ttccsseettaattttrr function is called.  Certain values for baud rates set
  44.      in the termios structure and passed to ttccsseettaattttrr have special meanings.
  45.      These are discussed in the portion of the manual page that describes the
  46.      ttccsseettaattttrr function.
  47.  
  48. GGEETTTTIINNGG AANNDD SSEETTTTIINNGG TTHHEE BBAAUUDD RRAATTEE
  49.      The input and output baud rates are found in the termios structure.  The
  50.      unsigned integer speed_t is typdef'd in the include file <_t_e_r_m_i_o_s_._h>. The
  51.      value of the integer corresponds directly to the baud rate being repre-
  52.      sented, however, the following symbolic values are defined.
  53.  
  54.      #define B0      0
  55.      #define B50     50
  56.      #define B75     75
  57.      #define B110    110
  58.      #define B134    134
  59.      #define B150    150
  60.      #define B200    200
  61.      #define B300    300
  62.      #define B600    600
  63.      #define B1200   1200
  64.      #define B1800   1800
  65.      #define B2400   2400
  66.      #define B4800   4800
  67.      #define B9600   9600
  68.      #define B19200  19200
  69.      #define B38400  38400
  70.      #ifndef _POSIX_SOURCE
  71.      #define EXTA    19200
  72.      #define EXTB    38400
  73.      #endif  /*_POSIX_SOURCE */
  74.  
  75.      The ccffggeettiissppeeeedd function returns the input baud rate in the termios
  76.      structure referenced by _t_p.
  77.  
  78.      The ccffsseettiissppeeeedd function sets the input baud rate in the termios struc-
  79.      ture referenced by _t_p to _s_p_e_e_d.
  80.  
  81.      The ccffggeettoossppeeeedd function returns the output baud rate in the termios
  82.      structure referenced by _t_p.
  83.  
  84.      The ccffsseettoossppeeeedd function sets the output baud rate in the termios struc-
  85.      ture referenced by _t_p to _s_p_e_e_d.
  86.  
  87.      The ccffsseettssppeeeedd function sets both the input and output baud rate in the
  88.      termios structure referenced by _t_p to _s_p_e_e_d.
  89.  
  90.      Upon successful completion, the functions ccffsseettiissppeeeedd, ccffsseettoossppeeeedd, and
  91.      ccffsseettssppeeeedd return a value of 0.  Otherwise, a value of -1 is returned and
  92.      the global variable _e_r_r_n_o is set to indicate the error.
  93.  
  94. GGEETTTTIINNGG AANNDD SSEETTTTIINNGG TTHHEE TTEERRMMIIOOSS SSTTAATTEE
  95.      This section describes the functions that are used to control the general
  96.      terminal interface.  Unless otherwise noted for a specific command, these
  97.      functions are restricted from use by background processes.  Attempts to
  98.      perform these operations shall cause the process group to be sent a SIGT-
  99.      TOU signal.  If the calling process is blocking or ignoring SIGTTOU sig-
  100.      nals, the process is allowed to perform the operation and the SIGTTOU
  101.      signal is not sent.
  102.  
  103.      In all the functions, although _f_d is an open file descriptor, the func-
  104.      tions affect the underlying terminal file, not just the open file de-
  105.      scription associated with the particular file descriptor.
  106.  
  107.      The ccffmmaakkeerraaww function sets the flags stored in the termios structure to
  108.      a state disabling all input and output processing, giving a ``raw I/O
  109.      path.'' It should be noted that there is no function to reverse this ef-
  110.      fect.  This is because there are a variety of processing options that
  111.      could be re-enabled and the correct method is for an application to snap-
  112.      shot the current terminal state using the function ttccggeettaattttrr, setting raw
  113.      mode with ccffmmaakkeerraaww and the subsequent ttccsseettaattttrr, and then using another
  114.      ttccsseettaattttrr with the saved state to revert to the previous terminal state.
  115.  
  116.      The ttccggeettaattttrr function copies the parameters associated with the terminal
  117.      referenced by _f_d in the termios structure referenced by _t_p. This function
  118.      is allowed from a background process, however, the terminal attributes
  119.      may be subsequently changed by a foreground process.
  120.  
  121.      The ttccsseettaattttrr function sets the parameters associated with the terminal
  122.      from the termios structure referenced by _t_p. The _a_c_t_i_o_n field is created
  123.      by _o_r'ing the following values, as specified in the include file
  124.      <_t_e_r_m_i_o_s_._h>.
  125.  
  126.      _T_C_S_A_N_O_W    The change occurs immediately.
  127.  
  128.      _T_C_S_A_D_R_A_I_N  The change occurs after all output written to _f_d has been
  129.                 transmitted to the terminal.  This value of _a_c_t_i_o_n should be
  130.  
  131.  
  132.                 used when changing parameters that affect output.
  133.  
  134.      _T_C_S_A_F_L_U_S_H  The change occurs after all output written to _f_d has been
  135.                 transmitted to the terminal Additionally, any input that has
  136.                 been received but not read is discarded.
  137.  
  138.      _T_C_S_A_S_O_F_T   If this value is _o_r'ed into the _a_c_t_i_o_n value, the values of
  139.                 the _c___c_f_l_a_g, _c___i_s_p_e_e_d, and _c___o_s_p_e_e_d fields are ignored.
  140.  
  141.      The 0 baud rate is used to terminate the connection.  If 0 is specified
  142.      as the output speed to the function ttccsseettaattttrr, modem control will no
  143.      longer be asserted on the terminal, disconnecting the terminal.
  144.  
  145.      If zero is specified as the input speed to the function ttccsseettaattttrr, the
  146.      input baud rate will be set to the same value as that specified by the
  147.      output baud rate.
  148.  
  149.      If ttccsseettaattttrr is unable able to make any of the requested changes, it re-
  150.      turns -1 and sets _e_r_r_n_o. Otherwise, it makes all of the requested changes
  151.      it can.  If the specified input and output baud rates differ and are a
  152.      combination that is not supported, neither baud rate is changed.
  153.  
  154.      Upon successful completion, the functions ttccggeettaattttrr and ttccsseettaattttrr return
  155.      a value of 0.  Otherwise, they return -1 and the global variable _e_r_r_n_o is
  156.      set to indicate the error, as follows:
  157.  
  158.      [EBADF]       The _f_d argument to ttccggeettaattttrr or ttccsseettaattttrr was not a valid
  159.                    file descriptor.
  160.  
  161.      [EINTR]       The ttccsseettaattttrr function was interrupted by a signal.
  162.  
  163.      [EINVAL]      The _a_c_t_i_o_n argument to the ttccsseettaattttrr function was not
  164.                    valid, or an attempt was made to change an attribute repre-
  165.                    sented in the termios structure to an unsupported value.
  166.  
  167.      [ENOTTY]      The file associated with the _f_d argument to ttccggeettaattttrr or
  168.                    ttccsseettaattttrr is not a terminal.
  169.  
  170. SSEEEE AALLSSOO
  171.      tcsendbreak(3),  termios(4)
  172.  
  173. SSTTAANNDDAARRDDSS
  174.      The ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd, ttccggeettaattttrr and
  175.      ttccsseettaattttrr functions are expected to be compliant with the IEEE
  176.      Std1003.1-1988 (``POSIX'') specification.  The ccffmmaakkeerraaww and ccffsseettssppeeeedd
  177.      functions, as well as the TCSASOFT option to the ttccsseettaattttrr function are
  178.      extensions to the IEEE Std1003.1-1988 (``POSIX'') specification.
  179.  
  180. BSD Experimental               September 2, 1996                             3
  181.